package ecole.utilisateur;

/**
 * Classe définissant les étudinats d'une école.
 * @author Salah Bennour
 */
public class Etudiant extends Personne implements java.io.Serializable {

	private static final long serialVersionUID = 2L;
	protected static int nbId = 0; 
	private boolean etudiantAppartientGroupeTD = false, etudiantAppartientGroupeTP = false;

	// ***************CONSTRUCTEURS*************************
	public Etudiant(){}

	public Etudiant(String nom, String prenom, char sexe) {
		super(nom, prenom, sexe,false);
	}

	// ***************GETTER*************************
	/**
	 * Methode permettant de retourner le nom d'un etudiant.
	 * @return retourne le nom d'un etudiant.
	 */
	public String getNom() {
		return nom;
	}

	/**
	 * Methode permettant de retourner le prenom d'un etudiant.
	 * @return retourne le prenom d'un etudiant.
	 */
	public String getPrenom() {
		return prenom;
	}

	/**
	 * Methode permettant de retourner le sexe d'un etudiant.
	 * @return retourne 'M' pour un homme et 'F' pour une femme.
	 */
	public char getSexe() {
		return sexe;
	}

	/**
	 * Methode permettant de retourneer l'identifiant d'un etudiant.
	 * 
	 * @return retourne l'identifiant d'un etudiant.
	 */
	public String getIdentifiant() {
		return identifiant;
	}

	/**
	 * Methode permettant de retourner l'adresse polytech d'un etudiant.
	 * @return retourne l'adresse polytech d'un etudiant.
	 */
	public String getAdresseMail() {
		return adresseMail;
	}

	/**
	 * Methode permettant de savoir si l'etudiant appartient a un groupe de TD.
	 * @return true si l'etudiant appartient à un groupe de TD. Sinon false.
	 */
	public boolean getEtudiantAppartientGroupeTD() {
		return etudiantAppartientGroupeTD;
	}

	/**
	 * Methode permettant de savoir si l'etudiant appartient à un groupe de TP.
	 * @return true si l'etudiant appartient a un groupe de TD. Sinon false.
	 */
	public boolean getEtudiantAppartientGroupeTP() {
		return etudiantAppartientGroupeTP;
	}

	// ***************SETTER*************************
	/**
	 * Methode permettant de modifier si l'etudiant appartient à un groupe de TD
	 * @param etudiantAppartientGroupeTD est un boolean.
	 */
	public void setEtudiantAppartientGroupeTD(boolean etudiantAppartientGroupeTD) {
		this.etudiantAppartientGroupeTD = etudiantAppartientGroupeTD;
	}

	/**
	 * Methode permettant de modifier si l'etudiant appartient à un groupe de TP
	 * @param etudiantAppartientGroupeTP est un boolean.
	 */
	public void setEtudiantAppartientGroupeTP(boolean etudiantAppartientGroupeTP) {
		this.etudiantAppartientGroupeTP = etudiantAppartientGroupeTP;
	}

	// ***************TO STRING*************************
	public String toString() {
		return "ETUDIANT \n \t Nom :" + getNom() + 
		"\n \t Prenom :"+ getPrenom() + 
		"\n \t Sexe :" + getSexe();
	}
}
